-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uclibc: fix O_TMPFILE value, hide some unused fields to fix libc-test #2636
Conversation
r? @Amanieu (rust-highfive has picked a reviewer for you, use r? to override) |
(ref nix-rust/nix#1603) |
@Amanieu I would like to get CI |
I'm OK with adding uclibc to CI even though it is tier 3. It seems sorely needed consider the issues found in this PR :) Could you add it in this PR? |
Actually I'm going to merge this as it is so that it makes the next libc release. You can add uclibc to CI in a separate PR. @bors r+ |
📌 Commit 0fcf5b3 has been approved by |
☀️ Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13 |
add CI for armv7-unknown-linux-uclibceabihf As discussed in #2636, this is a framework for CI on targets with no prebuilt std. They will build via `nightly` and `-Zbuild-std`, and run the unit tests via qemu-user (or whatever else the dockerfile specifies). It seems like I could write some more documentation about how to add more targets of this type, but perhaps I can get a round of feedback on the mechanism here before I go and write that.
add CI for armv7-unknown-linux-uclibceabihf As discussed in #2636, this is a framework for CI on targets with no prebuilt std. They will build via `nightly` and `-Zbuild-std`, and run the unit tests via qemu-user (or whatever else the dockerfile specifies). It seems like I could write some more documentation about how to add more targets of this type, but perhaps I can get a round of feedback on the mechanism here before I go and write that.
This was a bit of a yak-shave.
First, O_TMPFILE was wrong because 020000000 is decimal, not octal. 🤦 This was, of course, causing all sorts of things to be horrible.
That led me to switch to a newer toolchain which actually defined O_TMPFILE, so that the libc tests pass on
armv7-unknown-linux-uclibceabihf
.That revealed that certain field names had changed since the last time I ran the libc tests on this architecture, which revealed that some struct fields (e.g.
__unused
) were being marked aspub
where all other architectures left them as private.So, this patch might seem somewhat sprawling, but without all of these changes it's not possible to run libc-test!
To test:
$TOOLCHAIN